A storage system typically comprises one or more storage devices into which information may be entered, and from which information may be obtained, as desired. The storage system includes a storage operating system that functionally organizes the system by, inter alia, invoking storage operations in support of a storage service implemented by the system. The storage system may be implemented in accordance with a variety of storage architectures including, but not limited to, a network-attached storage environment, a storage area network, or a disk assembly directly attached to a server system. The storage devices are typically disk drives (e.g., hard disk drive (HDD) or direct access storage device (DASD)) organized as a disk array.
The storage system may be configured to allow one or more servers to store and access data on the storage system. Each storage system may comprise one or more local or remote storage devices for storing client data from one or more server systems connected to the storage system. From time to time, client backup data stored on a server system may be “backed up” to a storage system. A server operating system may interact with a storage operating system for performing a variety of backup operations. Or, an application running on a server system may interact with a storage operating system for performing a variety of backup operations. The storage operating system of the storage system may implement a high-level module, such as a file system, to logically organize the information stored on volumes as a hierarchical structure of data containers, such as files, blocks, and logical units (LUs). A known type of file system is a write-anywhere file system that does not overwrite blocks on disks unless the blocks are free blocks. An example of a write-anywhere file system that is configured to operate on a storage system is the Write Anywhere File Layout (WAFL®) file system available from NetApp, Inc. Sunnyvale, Calif.
Each server may execute an application, such as a database application, that “connects” to the storage system over a computer network, such as a point-to-point link, a shared local area network (LAN), a wide area network (WAN), or a virtual private network (VPN) implemented over a public network such as the Internet. Each server may request the data services of the storage system by issuing access requests (read/write requests) as file-based and block-based protocol messages (in the form of packets) to the system over the network. For example, a server may request backup services from a storage system by initiating a message exchange with a storage system, and the storage system may further exchange messages with the server system to accomplish transmission of a sequence of protocol messages (in the form of packets), which sequence may be intended to accomplish one or more backup operations.
A plurality of storage systems may be interconnected as multiple nodes to provide a storage system architecture configured to service many servers. Each node may comprise a storage system and a set of storage devices. In some embodiments, the storage system architecture provides one or more aggregates, each aggregate comprising a set of one or more storage devices (e.g., disks). Each aggregate may store one or more storage objects, such as one or more volumes. The aggregates may be distributed across a plurality of storage systems interconnected as a multi-node storage system. The storage objects (e.g., volumes) may be configured to store the content of data containers, such as files and logical units, served by the multi-node storage system in response to multi-protocol data access requests issued by servers. Any volume may have a directory.
The storage systems of the multi-node storage system may be configured to communicate with one another to act collectively to increase performance or to offset any single storage system failure within the multi-node storage system. The multi-node storage system provides data service to servers by providing access to a shared storage (comprising the storage devices of the plurality of storage systems). Typically, server systems will connect with a storage system of the multi-node storage system for data-access sessions with the storage system. During a data-access session with a storage system, a server system may submit access requests (read/write requests) that are received and performed by the storage system.
Each server system typically executes numerous applications that may require data services of a storage system. Various server systems may support different backup applications that have capabilities for backing up data according to different standards and within variously configured storage systems (e.g., under Open Systems, and/or a storage system using SnapVault® technology). Such standards (e.g., Open Systems SnapVault® (OSSV)) can support backup of backup data from various operating systems (OS), backup of application data for various applications, and backup of system state data for various operating systems (e.g., Windows®, Linux®, HP-UX, AIX, and Solaris). Such standards can also support specific applications (e.g., MS-SQL, MS-EXCHANGE, MS-SHAREPOINT, VMWARE, etc.).
The data of the server system that is backed up to a storage system during a backup session may be referred to as “backup data.” In addition to backing up the data of a server system, it may also be desirable to monitor environment information (referred to as “environment metadata”) for the server system, for example, for analysis, performance optimization, maintenance purposes, etc. Environment metadata may also be sent to the storage system for storage and analysis. Typically, however, a storage system manages backup data and environment metadata through wholly separate sessions (e.g., performing separate operations using separate data structures that are managed separately) resulting in substantial additional use of storage resources. As such, there is a need for an efficient method for handling both backup data and environment metadata.